/**
 * 将备用样式对象中的值设置为根元素的 CSS 变量。
 * @param {Object} data - 包含备用样式的对象，键为 CSS 变量名，值为对应的样式值。
 */
const style_replacement = (data) => {
  // 获取 HTML 文档的根元素，即 <html> 元素，后续将在该元素上设置 CSS 变量
  const root = document.documentElement;

  // 遍历备用样式对象中的每一个键值对
  for (const [variable, value] of Object.entries(data)) {
    // 为根元素设置 CSS 变量，variable 为变量名，value 为变量值
    root.style.setProperty(variable, value);
  }
};


/**
 * 生成 UUIDv4 的函数
 * @returns {string} 生成的 UUIDv4 字符串
 */
const randomUUID = () => {
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (char) => {
    const random = (Math.random() * 16) | 0; // 生成 0-15 的随机数
    const value = char === "x" ? random : (random & 0x3) | 0x8; // y 部分需要满足 8/9/a/b
    return value.toString(16); // 转换为十六进制
  });
};


export { 
  style_replacement,
  randomUUID
};
